package domain

type CheckPassWordInfo struct {
	Password          string `json:"password"`
	EncryptedPassword string `json:"encryptedPassword"`
}

type CheckResponse struct {
	Success bool `json:"success"`
}

type PageInfo struct {
	Pn    uint32 `json:"pn"`
	PSize uint32 `json:"pSize"`
}

type MobileRequest struct {
	Mobile string `json:"mobile"`
}

type IdRequest struct {
	ID int32 `json:"id"`
}

type UpdateUserInfo struct {
	ID       int32  `json:"id"`
	NickName string `json:"nickName"`
	Gender   string `json:"gender"`
	BirthDay uint64 `json:"birthDay"`
	IsDelete int32  `json:"isDelete"`
}

type CreateUserInfo struct {
	NickName string `json:"nickName"`
	PassWord string `json:"passWord"`
	Mobile   string `json:"mobile"`
}

type UserInfoResponse struct {
	ID        int32  `json:"id"`
	PassWord  string `json:"passWord,omitempty"`
	Mobile    string `json:"mobile"`
	NickName  string `json:"nickName"`
	BirthDay  uint64 `json:"birthDay,omitempty"`
	Gender    string `json:"gender"`
	IsDeleted bool   `json:"is_deleted,omitempty"`
	Role      int32  `json:"role"`
}

type UserListResponse struct {
	Total int32              `json:"total"`
	Data  []UserInfoResponse `json:"data"`
}

type UserUpdateForm struct {
	ID        int32  `form:"id" json:"id" binding:"required"`
	NickName  string `form:"nickName" json:"nickName"`
	Gender    string `form:"gender" json:"gender"`
	BirthDay  int64  `form:"birthDay" json:"birthDay"`
	IsDeleted *bool  `form:"is_deleted" json:"is_deleted"`
	Role      int32  `form:"role" json:"role"`
}
